fully initialize GdkWindowAttr to avoid valgrind warnings. (#507751, patch
authorKristian Rietveld <kris@imendio.com>
Thu, 10 Jan 2008 10:13:28 +0000 (10:13 +0000)
committerKristian Rietveld <kristian@src.gnome.org>
Thu, 10 Jan 2008 10:13:28 +0000 (10:13 +0000)
2008-01-10  Kristian Rietveld  <kris@imendio.com>

* gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow),
(_gtk_tree_view_column_start_drag): fully initialize GdkWindowAttr to
avoid valgrind warnings.  (#507751, patch from Christian Persch).

svn path=/trunk/; revision=19333

ChangeLog
gtk/gtktreeview.c

index fe3a21a75a334462b43aad118998da288e13fa5c..70a762fade7d99307ef02de778d84806b5e34606 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-10  Kristian Rietveld  <kris@imendio.com>
+
+       * gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow),
+       (_gtk_tree_view_column_start_drag): fully initialize GdkWindowAttr to
+       avoid valgrind warnings.  (#507751, patch from Christian Persch).
+
 2008-01-10  Kristian Rietveld  <kris@imendio.com>
 
        * gtk/gtktreemodelfilter.c (gtk_tree_model_filter_get_path): Fix
index 5ecb438610c40b7be6451dc78b220f340ddae9bd..bba0f6243e9cb12e5d4b5c9756cfa47b60bc0ed4 100644 (file)
@@ -3333,6 +3333,10 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
 
          attributes.window_type = GDK_WINDOW_CHILD;
          attributes.wclass = GDK_INPUT_OUTPUT;
+          attributes.x = tree_view->priv->drag_column_x;
+          attributes.y = 0;
+         width = attributes.width = tree_view->priv->drag_column->button->allocation.width;
+         height = attributes.height = tree_view->priv->drag_column->button->allocation.height;
          attributes.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view));
          attributes.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view));
          attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK;
@@ -3340,11 +3344,6 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
          tree_view->priv->drag_highlight_window = gdk_window_new (tree_view->priv->header_window, &attributes, attributes_mask);
          gdk_window_set_user_data (tree_view->priv->drag_highlight_window, GTK_WIDGET (tree_view));
 
-         width = tree_view->priv->drag_column->button->allocation.width;
-         height = tree_view->priv->drag_column->button->allocation.height;
-         gdk_window_move_resize (tree_view->priv->drag_highlight_window,
-                                 tree_view->priv->drag_column_x, 0, width, height);
-
          mask = gdk_pixmap_new (tree_view->priv->drag_highlight_window, width, height, 1);
          gc = gdk_gc_new (mask);
          col.pixel = 1;
@@ -3400,6 +3399,8 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
          attributes.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view));
          attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK;
          attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+          attributes.x = x;
+          attributes.y = y;
          attributes.width = width;
          attributes.height = height;
          tree_view->priv->drag_highlight_window = gdk_window_new (gtk_widget_get_root_window (widget),
@@ -3474,6 +3475,8 @@ gtk_tree_view_motion_draw_column_motion_arrow (GtkTreeView *tree_view)
          attributes.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view));
          attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK;
          attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP;
+          attributes.x = x;
+          attributes.y = y;
          attributes.width = width;
          attributes.height = height;
          tree_view->priv->drag_highlight_window = gdk_window_new (NULL, &attributes, attributes_mask);
@@ -9340,6 +9343,10 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
 
       attributes.window_type = GDK_WINDOW_CHILD;
       attributes.wclass = GDK_INPUT_OUTPUT;
+      attributes.x = column->button->allocation.x;
+      attributes.y = 0;
+      attributes.width = column->button->allocation.width;
+      attributes.height = column->button->allocation.height;
       attributes.visual = gtk_widget_get_visual (GTK_WIDGET (tree_view));
       attributes.colormap = gtk_widget_get_colormap (GTK_WIDGET (tree_view));
       attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK | GDK_EXPOSURE_MASK | GDK_POINTER_MOTION_MASK;
@@ -9382,12 +9389,6 @@ _gtk_tree_view_column_start_drag (GtkTreeView       *tree_view,
   gtk_propagate_event (column->button, send_event);
   gdk_event_free (send_event);
 
-  gdk_window_move_resize (tree_view->priv->drag_window,
-                         column->button->allocation.x,
-                         0,
-                         column->button->allocation.width,
-                         column->button->allocation.height);
-
   /* Kids, don't try this at home */
   g_object_ref (column->button);
   gtk_container_remove (GTK_CONTAINER (tree_view), column->button);